.\" Copyright © 2016 Andy Chu. All rights reserved.
.\"
.\" Licensed under the Apache License, Version 2.0 (the "License");
.\" You may not use this file except in compliance with the License.
.\"
.\" You may obtain a copy of the License at:
.\" http://www.apache.org/licenses/LICENSE-2.0
.Dd June 28, 2019
.Dt OSH 1
.Os
.Sh NAME
.Nm osh
.Nd command language interpreter
.Sh SYNOPSIS
.Nm
.Op Ar options
.Ar script
.Op Ar args
.Nm
.Op Ar options
.Fl c
.Op command_string
.Op args
.Sh DESCRIPTION
The
.Nm
utility is a
.Xr bash 1 Ns -compatible
command language interpreter:
it reads commands either from standard input, a
.Ar script
file or command-line arguments and executes them.
.Pp
.Nm
accepts POSIX
.Xr sh 1
arguments, with the following differences:
.Bl -tag -width Ds
.It Fl n
Only validate the syntax.
Also prints the AST.
.It Fl -ast-format
What format the AST should be in.
.El
.Sh ENVIRONMENT
.Bl -tag -width "OILS_CRASH_DUMP_DIR"
.It Ev OILS_HIJACK_SHEBANG
.It Ev OILS_CRASH_DUMP_DIR
.El
.Sh FILES
The interactive shell only sources
.Pa ~/.config/oils/oshrc
on startup.
.Sh EXIT STATUS
The
.Nm
utility exits with one of the following values:
.Bl -tag -width 3n
.It 1
One or more runtime errors occurred.
.It 2
One or more parsing errors occurred,
either due to incorrect script syntax or improper invocation of a shell
builtin.
.It 126
Permission was denied when running a command.
.It 127
The referenced command or script could not be found.
.El
.Sh SEE ALSO
.Xr bash 1 ,
.Xr busybox 1 ,
.Xr sh 1
.Pp
.Lk https://oils.pub/release/0.37.0/doc/ Docs
.Sh AUTHORS
The
.Nm
utility was written by
.An Andy Chu Aq Mt andy@oils.pub
